/**
 * 创建人:  @author huangpeng
 * 创建时间:  2024年10月02日 02:36
 * 项目名称:  lemon-blog-cloud
 * 文件名称:  RemoteBlogWebService
 * 文件描述:  @Description: 系统前台feign调用
 * 公司名称:  xxxxxx
 * <p>
 * All rights Reserved, Designed By xxxxxx
 *
 * @Copyright: 2021-2024
 */
package com.lemon.system.api;

import com.lemon.common.core.constant.ServiceNameConstants;
import com.lemon.common.core.constant.TokenConstants;
import com.lemon.common.core.domain.Result;
import com.lemon.system.api.domain.BlBlog;
import com.lemon.system.api.factory.RemoteBlogWebFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 包名称：com.lemon.system.api
 * 类名称：RemoteBlogWebService
 * 类描述：系统前台feign调用
 * 创建人：@author huangpeng
 * 创建时间：2024年10月02日 02:36
 */
@FeignClient(contextId = "remoteBlogWebService", value = ServiceNameConstants.BLOG_WEB_SERVICE, fallbackFactory = RemoteBlogWebFallbackFactory.class)
public interface RemoteBlogWebService {

    /**
     * 通过查询条件查询文章信息，前台
     * @Title: searchBlogList
     * @Description: 通过查询条件查询文章信息，前台
     * @param pageNum 页码
     * @param pageSize 页大小
     * @return: Result<LoginUser>
     * @throws:
     * @author: huangpeng
     * @Date: 2024/10/2 02:44
     */
    @GetMapping("api/blogWeb/blog/list")
    Result<List<BlBlog>> searchBlogList(@RequestParam("pageNum") int pageNum, @RequestParam("pageSize") int pageSize, @RequestHeader(TokenConstants.AUTHENTICATION) String token);

    /**
     * 更具文章id查询文章信息
     * @Title: searchBlogInfo
     * @Description: 更具文章id查询文章信息
     * @param id 文章id
     * @return: AjaxResult
     * @throws:
     * @author: huangpeng
     * @Date: 2024/10/2 12:04
     */
    @GetMapping("api/blogWeb/blog/info")
    Result<BlBlog> searchBlogInfo(@RequestParam("id") Long id);

}
